Ricerca e ordinamento: la base per grandi quantitร di dati
Ricerca e ordinamento non sono solo l'introduzione ai corsi di algoritmi, ma rappresentano anche la logica fondamentale con cui la scienza informatica gestisce i dati. Il valore dei dati dipende dall'efficienza con cui vengono recuperati e organizzati. In questo capitolo viene illustrato il concetto piรน basilare diricerca lineareil nucleo della valutazione degli algoritmi โ ovvero come, in diversi tipi di dati, utilizzare confronti lineari per localizzare un obiettivo.
1. Logica e costo
Ricerca lineare:Si inizia dal primo elemento della lista e si procede sequenzialmente fino a trovare l'elemento cercato o fino alla fine della lista. La complessitร temporale รจ $O(n)$.
2. Confronto delle prestazioni: disordinato vs ordinato
Nelelenco disordinatoไธญ๏ผ่งไธ่กจ๏ผ๏ผๆ ่ฎบๆๅไธๅฆ๏ผๅนณๅๆฏๅฏนๆฌกๆฐ้ๅธธไธ $n$ ๆๆญฃๆฏใ่ๅจelenco ordinatosi puรฒ ottenere una "uscita anticipata" sfruttando le regole di ordinamento: quando si incontra un elemento maggiore del valore cercato, si puรฒ concludere che l'obiettivo non esiste. Anche se ciรฒ non cambia la complessitร fondamentale $O(n)$, migliora l'efficienza media della ricerca fallita.
| Tipo di elenco | Obiettivo presente (media) | Obiettivo assente (media) |
|---|---|---|
| Disordinato (Tabella 5-1) | $n/2$ | $n$ |
| Ordinato (Tabella 5-2) | $n/2$ | $n/2$ (miglioramento) |